package com.liangtian.mdm.system.menu.service;

import com.liangtian.mdm.system.menu.model.Menu;
import com.liangtian.mdm.system.menu.model.MenuShow;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface MenuService {

    /**
     * 查询菜单信息
     *
     * @return
     */
    public List<MenuShow> quertMenu();

    public List<MenuShow> queryMenuShow();

    /**
     * 生成菜单信息
     *
     * @param modelId
     */
    public void createMenu(String modelId);

    /**
     * 菜单树查询
     *
     * @param menu
     * @return
     */
    public List<Menu> menuTree(Menu menu);

    /**
     * 左侧列表查询
     *
     * @param menu
     * @return
     */
    public PageInfo queryMenuByContion(Menu menu);

    /**
     * 前台插入菜单
     *
     * @param menu
     */
    public void insertMenuForm(Menu menu);

    /**
     * 修改菜单状态
     *
     * @param map
     */
    public void updateMenuStatus(Menu menu);

    /**
     * 根据id查询
     *
     * @param menu
     * @return
     */
    public Menu queryMenuById(Menu menu);

    /**
     * 修改
     *
     * @param menu
     */
    public void updateMenu(Menu menu);

    Menu queryOne(String MenuId);

    Menu queryThirMenu(Map<String, Object> param);

    /**
     * 根据modelId查询审核页面链接
     *
     * @param modelId
     * @return
     */
    public Menu queryMenuUrlByModelId(Map<String, Object> param);

    public List<MenuShow> queryMenuShowByPermission(Map<String, Object> param);

    public Menu queryMenuByModelIdMenuType(Menu menu);

}
